﻿#include "ReisterDataType.h"
#include <QString>
#include <QList>
#include <QMetaType>
#include <QVector3D>
#include <QMultiHash>
#include <QMultiMap>
#include <QVector>
#include <QHash>
#include <QPair>
#include <QSharedPointer>
#include "BaseModule/GlobalEnums.h"

namespace pst
{

    //注册数据类型

    void ReisterDataType::registerMetaDataType()
    {
        //用于反序列化
        qRegisterMetaType<bool*>("bool*");
        qRegisterMetaType<int*>("int*");

        qRegisterMetaType<QList<int>>("QList<int>");
        qRegisterMetaType<QList<QString>>("QList<QString>");
        qRegisterMetaType<QList<QPair<double, double>>>("QList<QPair<double,double>>");
        qRegisterMetaType<QList<QPair<int, int>>>("QList<QPair<int,int>>");
        qRegisterMetaType<QVector<int>>("QVector<int>");
        qRegisterMetaType<QMultiHash<int, int>>("QMultiHash<int, int>");
        qRegisterMetaType<QMultiMap<int, int>>("QMultiMap<int, int>");

        qRegisterMetaType<QHash<QString, double>*>("QHash<QString,double>*");
        qRegisterMetaType<QHash<QString, double>>("QHash<QString,double>");
        qRegisterMetaType<QPair<QString, double>*>("QPair<QString,double>*");
        qRegisterMetaType<QList<QList<int>>>("QList<QList<int>>");
        qRegisterMetaType<QList<QPair<int, QList<int>>>>("QList<QPair<int, QList<int>>>");

    }

}
